﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using KPWeb.Class;
using KPWeb.Data;
using KPWeb.Urlopy;

namespace KPWeb
{
    public partial class SiteMaster : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           // if (!this.IsPostBack)
        
            this.RefreshData();
            //if (KPPage.Current.cAnkietaMojaOcena == "t")
            //{
            //    Response.Write("<script>alert('UWAGA: Zmieniono pola ankiety. Musisz zapisać ją lub anulować zmiany i dopiero wtedy system  KPWeb pozwoli przejść na inną stronę!');</script>");
            //    return;
            //}
            Boolean CzyWUM =
                   System.Configuration.ConfigurationManager.AppSettings["CzyWUM"] == "tak" ? true : false;
            if (CzyWUM)
            {
                //UrlopyK urlop = new UrlopyK();
                //if (!urlop.CzyWprowadzonoUrlopyZalegle(int.Parse(KPPage.Current.OsobaID), DateTime.Now.Year))
                //    Server.Transfer("~/Moje/Brakzaleglego.aspx");
                ((LoginStatus)this.HeadLoginView.FindControl("HeadLoginStatus")).LogoutPageUrl = "~/Account/LoginWUM.aspx";

            }
            else
            {
                ((LoginStatus)this.HeadLoginView.FindControl("HeadLoginStatus")).LogoutPageUrl = "~/Account/Login.aspx";
            }

            foreach (MenuItem mi in this.NavigationMenu.Items)
            {
                SelectMenuItem(mi);
            }
         
 
        }
        void SelectMenuItem(MenuItem m)
        {
           
            if (m.ToolTip.Length > 2)
            {
                string[] splited = Page.ToString().Split('_');
                if (splited.Length >= 2)
                {
                    if (m.ToolTip.ToLower().Contains(splited[splited.Length-2].ToLower()))
                    {
                        MenuItem x = m;
                        while (x.Parent is MenuItem)
                        {
                            x = x.Parent;
                        }

                        if (x.Enabled)
                            x.Selected = true;
                    }
                }
            }
            if (m.ChildItems.Count == 0)
            {
                return;
            }
            foreach (MenuItem mi in m.ChildItems)
            {
                SelectMenuItem(mi);
            }
        }

        public void RefreshData()
        {
        
            DomenaLogin.Text = HttpContext.Current.User.Identity.Name.Split('\\').Last();
            Czas.Text = String.Format("{0:yyyy-MM-dd}", DateTime.Now) +" godz." + DateTime.Now.ToShortTimeString().ToString();

            OsobaAkcept.Text = KPPage.Current.Uprawnienia;
            OsobaID.Text = KPPage.Current.OsobaID;//.ToString();
            vKP_JednostkiFirmy item = Model.GetJednostkaFirma(int.Parse(KPPage.Current.JednostkaID));
            // Jednostka.Text = item.JednostkaKod;
            UstawWitaj(item.JednostkaKod, item.JednostkaNazwa);
            
            NavigationMenu.Items[1].Enabled = false;
            NavigationMenu.Items[7].Enabled = false;
            NavigationMenu.Items[8].Enabled = false;
            NavigationMenu.Items[9].Enabled = false;
            NavigationMenu.Items[10].Enabled = false;
     
            switch (KPPage.Current.Uprawnienia)
            {
                case Stale.uprVIP:
                    NavigationMenu.Items[10].Enabled = true;
                    NavigationMenu.Items.RemoveAt(9);//Kordynator
                    NavigationMenu.Items.RemoveAt(8);//Płace
                    NavigationMenu.Items.RemoveAt(7);//Jednostka
                    NavigationMenu.Items.RemoveAt(5); //głosowania
                    NavigationMenu.Items.RemoveAt(1);  //Moje
                    InformacjeOnKordynator(true);
                    break;
                case Stale.uprGlosowania:
                    NavigationMenu.Items.RemoveAt(10);
                    NavigationMenu.Items.RemoveAt(9);
                    NavigationMenu.Items.RemoveAt(8);
                    NavigationMenu.Items.RemoveAt(7);
                    //  NavigationMenu.Items.RemoveAt(5);//głosowania
                    NavigationMenu.Items.RemoveAt(4);
                    NavigationMenu.Items.RemoveAt(3);
                    NavigationMenu.Items.RemoveAt(2);
                    NavigationMenu.Items.RemoveAt(1);
                    InformacjeOnKordynator(true);
                    break;
                case Stale.uprZarzad:
                    NavigationMenu.Items[10].Enabled = true;
                    NavigationMenu.Items.RemoveAt(9);
                    NavigationMenu.Items.RemoveAt(8);
                    NavigationMenu.Items.RemoveAt(7);
                    //  NavigationMenu.Items.RemoveAt(5);//głosowania
                    NavigationMenu.Items.RemoveAt(1);
                    InformacjeOnKordynator(true);
                    break;
                case Stale.uprKoordynator:
                    NavigationMenu.Items[9].Enabled = true;
                    NavigationMenu.Items.RemoveAt(10); //VIP
                    NavigationMenu.Items.RemoveAt(8);
                    NavigationMenu.Items.RemoveAt(7);
                  //  NavigationMenu.Items.RemoveAt(5);//głosowania
                    NavigationMenu.Items.RemoveAt(1);
                    InformacjeOnKordynator(true);
                    break;

                case Stale.uprPersonalny:
                    NavigationMenu.Items[8].Enabled = true;
                    NavigationMenu.Items.RemoveAt(10);
                    NavigationMenu.Items.RemoveAt(9);
                    NavigationMenu.Items.RemoveAt(7);
                    NavigationMenu.Items.RemoveAt(5);//głosowania
                    NavigationMenu.Items.RemoveAt(1);
                    InformacjeOnKordynator(false);
                    break;

                case Stale.uprJednostka:
                case Stale.uprKierownik:
                    NavigationMenu.Items[7].Enabled = true;
                    NavigationMenu.Items.RemoveAt(10);
                    NavigationMenu.Items.RemoveAt(9);
                    NavigationMenu.Items.RemoveAt(8);
                    //   NavigationMenu.Items.RemoveAt(5);//głosowania
                    NavigationMenu.Items.RemoveAt(1);
                    InformacjeOnKordynator(false);
                    break;

                case Stale.uprMoje:
                    NavigationMenu.Items[1].Enabled = true;
                    NavigationMenu.Items.RemoveAt(10);
                    NavigationMenu.Items.RemoveAt(9);
                    NavigationMenu.Items.RemoveAt(8);
                    NavigationMenu.Items.RemoveAt(7);
                    InformacjeOnKordynator(false);
                    break;

            }
           
            try
            {


                //  this.rEmail.Text = strTemp.Substring(0, strTemp.IndexOf("@"));
                //  this.rEmail.NavigateUrl = "mailto:" + rEmail.Text + "@wum.edu.pl?subject=Pensum (ISP)";
                //  this.rEmail.Text = this.rEmail.Text + "@wum.edu.pl";
                //  this.rTelefon.Text = strTemp.Substring(strTemp.IndexOf("; ")+2);
            }
            catch (Exception)
            {
            }
        }
        public void UstawWitaj(string pJednostkaKod, string pJednostkaNazwa)
        {
            JednostkaNazwa.Text = pJednostkaNazwa;
            Jednostka.Text = "(" + pJednostkaKod + ")";
        }
        public void UstawDefault()
        {
            NavigationMenu.Items[0].Selected = true;
        }
        public void InformacjeOnOff(bool bOn)
        {
            this.lCoNowegoRaport.Enabled = bOn;
            this.lPomoc.Enabled = bOn;

        }
        public void InformacjeOnKordynator(bool bOn)
        {
           // this.lLogin.Enabled = bOn;
            this.lHistoriaLogowan.Enabled = bOn;
            this.lUprawnienia.Enabled = bOn;
        }
        protected void lCoNowegoRaport_Click(object sender, EventArgs e)
        {
            // Server.Transfer("~/StopkaStrony/CoNowego.aspx");
           

        }
        protected void lPomoc_Click(object sender, EventArgs e)
        {
            //   Server.Transfer("~/StopkaStrony/Pomoc.aspx");
        }
        protected void lL_Click(object sender, EventArgs e)
        {
          //  Server.Transfer("~/Linki/LinkiStrona.aspx");
        }
        protected void lHistoriaLogowan_Click(object sender, EventArgs e)
        {
            Server.Transfer("~/StopkaStrony/HistoriaLogowan.aspx");
        }
        protected void lUprawnienia_Click(object sender, EventArgs e)
        {
            //  Server.Transfer("~/StopkaStrony/Uprawnienia.aspx");
        }
        protected void lK_Click(object sender, EventArgs e)
        {
            //  Server.Transfer("~/StronyLinki/KoordynatorLinki.aspx");
        }

        protected void NavigationMenu_MenuItemClick(object sender, MenuEventArgs e)
        {
           // if (KPPage.Current.cAnkietaMojaOcena == "t") return;
            try
            {
                //UWAGA tooltipy wykonywalne nie mogą być częścią stringa innego wykonywalnego tooltipa!!!!!!
                Server.Transfer(e.Item.ToolTip, false);
            }
            catch (Exception ex)
            {
               // throw new Exception( ex.Message);//### musi być wyjątek ale pusty
            }
        }

        protected void lAdministracja_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("http://www.wum.edu.pl/uczelnia/struktura-i-jednostki/administracja");
        }

        protected void lJednostki_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("http://jednostki.wum.edu.pl/Internet/List.aspx");
        }

        protected void lPracownicy_Click(object sender, EventArgs e)
        {
           // string par = "sztulpa*)";
         //   System.Diagnostics.Process.Start("http://pracownicy.wum.edu.pl/PeopleSearch/Default.aspx?TabKey=0&TaskItemKey=2&Screen=1&SummaryFilter=(sn%3d"+par);
            System.Diagnostics.Process.Start("http://pracownicy.wum.edu.pl/PeopleSearch/Default.aspx");
        }
    }
}
